/*
 * COPYRIGHT. HSBC HOLDINGS PLC 2016. ALL RIGHTS RESERVED.
 * 
 * This software is only to be used for the purpose for which it has been
 * provided. No part of it is to be reproduced, disassembled, transmitted,
 * stored in a retrieval system nor translated in any human or computer
 * language in any way or for any other purposes whatsoever without the
 * written consent of HSBC Holdings plc.
 */
package com.pactera.integral.entity;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;

import org.hibernate.annotations.GenericGenerator;


/**
 * @type_name User
 */
/**
 * @author User
 *
 */
@Entity
@Table(name = "INT_USER_ADDITIONAL_SCORE")
public class UserAdditionalScore extends CommonEntity {
    /**
     * @field serialVersionUID
     */
    private static final long serialVersionUID = 1L;
    @Id
    @GeneratedValue(generator = "system-uuid")
    @GenericGenerator(name = "system-uuid", strategy = "uuid")
    @Column(name = "ID", unique = true, nullable = false)
    private String id;

    @Column(name = "USER_ID", length = 32, nullable = false)
    private String userId;
    
    @Column(name = "ADDITIONAL_SCORE_ID", length = 32, nullable = false)
    private String additionalScoreId;

    @Column(name = "SCORE_TYPE", length = 20)
    private String scoreType;
    
    @Column(name = "SELF_SCORE", length = 5, nullable = false)
    private int selfScore;
    //0:submit 1:first approved 2:final approved
    @Column(name = "TL_SCORE", length = 5)
    private Integer tLScore;
    
    @Column(name = "AUDIT_SCORE", length = 5)
    private Integer auditScore; 

    //current: 0: TL approved, 1: pending TL approved,
    @Column(name = "STATUS", length = 1, nullable = false)
    private int status; 
    
    @Column(name = "YEAR")
    private Integer year;
    //YYYYMM
    @Column(name = "MONTH")
    private Integer month;
    
    @Column(name = "DESCRIPTION", length = 200)
    private String description;
    
    @Column(name = "SUGGESTION", length = 200)
    private String suggestion;

	/**
	 * @return the id
	 */
	public String getId() {
		return id;
	}

	/**
	 * @param id the id to set
	 */
	public void setId(String id) {
		this.id = id;
	}

	/**
	 * @return the userId
	 */
	public String getUserId() {
		return userId;
	}

	/**
	 * @param userId the userId to set
	 */
	public void setUserId(String userId) {
		this.userId = userId;
	}

	/**
	 * @return the additionalScoreId
	 */
	public String getAdditionalScoreId() {
		return additionalScoreId;
	}

	/**
	 * @param additionalScoreId the additionalScoreId to set
	 */
	public void setAdditionalScoreId(String additionalScoreId) {
		this.additionalScoreId = additionalScoreId;
	}

	/**
	 * @return the scoreType
	 */
	public String getScoreType() {
		return scoreType;
	}

	/**
	 * @param scoreType the scoreType to set
	 */
	public void setScoreType(String scoreType) {
		this.scoreType = scoreType;
	}

	/**
	 * @return the selfScore
	 */
	public int getSelfScore() {
		return selfScore;
	}

	/**
	 * @param selfScore the selfScore to set
	 */
	public void setSelfScore(int selfScore) {
		this.selfScore = selfScore;
	}

	/**
	 * @return the tLScore
	 */
	public int gettLScore() {
		return tLScore;
	}

	/**
	 * @param tLScore the tLScore to set
	 */
	public void settLScore(int tLScore) {
		this.tLScore = tLScore;
	}

	/**
	 * @return the auditScore
	 */
	public int getAuditScore() {
		return auditScore;
	}

	/**
	 * @param auditScore the auditScore to set
	 */
	public void setAuditScore(int auditScore) {
		this.auditScore = auditScore;
	}

	/**
	 * @return the status
	 */
	public int getStatus() {
		return status;
	}

	/**
	 * @param status the status to set
	 */
	public void setStatus(int status) {
		this.status = status;
	}

	/**
	 * @return the description
	 */
	public String getDescription() {
		return description;
	}

	/**
	 * @param description the description to set
	 */
	public void setDescription(String description) {
		this.description = description;
	}

	
	public String getSuggestion() {
		return suggestion;
	}

	public void setSuggestion(String suggestion) {
		this.suggestion = suggestion;
	}

	/**
	 * @return the serialversionuid
	 */
	public static long getSerialversionuid() {
		return serialVersionUID;
	}

	public Integer getYear() {
		return year;
	}

	public void setYear(Integer year) {
		this.year = year;
	}

	public Integer getMonth() {
		return month;
	}

	public void setMonth(Integer month) {
		this.month = month;
	}
    
}
